/**
 * Created by asus on 2018/9/18.
 */
define(['jquery'], function ($) {
  var timer;
  var counter = 60;
  var isValidate = true
  var inputItems = $('.input-item input')
  var userName = $("[name='name']"),
    phone = $("[name='phone']"),
    password = $("[name='password']"),
    repassword = $("[name='repassword']")
  var checkbox = $('.checkbox')
  var registBtn = $(".regist-btn")
  //密码正则
  var regPswd = /(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)^.{6,20}$/
  // 手机号码正则
  var regPhone = /^[1][3,4,5,7,8][0-9]{9}$/
  // checkbox 是否同意不同意注册协议
  checkbox.click(function () {
    var ckb = $(this).children('input[type="checkbox"]')
    $(this).toggleClass('is-checked')
    if ($(this).hasClass('is-checked')) {
      ckb.prop('checked', true)
      registBtn.removeClass('unagree')
    } else {
      ckb.prop('checked', false)
      registBtn.addClass('unagree')
    }
  })

  // 必填项校验
  inputItems.blur(function () {
    if (!$(this).val()) {
      isValidate = false
      $(this).siblings('.errTip.required').show()
    }
  })
  inputItems.focus(function () {
    $(this).siblings('.errTip').hide()
  })
  $('.input-item .errTip').click(function () {
    $(this).siblings('input').trigger('focus')
  })
  // 点击发送验证码
  $('.messgae-btn').click(function () {
    if ($(this).attr("disabled")) {
      return
    }
    var mobilePhone = phone.val();
    if (!mobilePhone) {
      $('.phone').siblings('.errTip.required').show()
      return
    } else if (!(regPhone.test(mobilePhone))) {
      $('.phone').siblings('.errTip.formatter').show()
      return
    }
    setTimer($(this))
  })

  // 提交表单
  $(".regist-btn").click(function () {
    // 不同意注册协议
    if ($(this).hasClass('unagree')) {
      return
    }
    window.location.href = "doctor/complete-personal-data.html"
    validateForm()
    if (!isValidate) {
      return
    }
    // 格式校验
    var data = {
      name: userName.val(),
      phone: phone.val(),
      password: password.val(),
    }
    console.log(data);
  })

  // 表单校验
  function validateForm() {
    isValidate = true
    // 校验是否为空
    inputItems.each(function () {
      $(this).trigger('blur')
    })
    if (phone.val() && !(/^1[0123456789]\d{9}$/.test(phone.val()))) {
      phone.siblings('.errTip.formatter').show()
      return
    }
    if (!regPswd.test(password.val())) {
      $('.toast').css('display', 'block').html('密码由6位以上字母、数字和符号两种及以上的组合').fadeIn().fadeOut(2000);
    }
    if (repassword.val() && password.val() && repassword.val() !== password.val()) {
      $('.toast').css('display', 'block').html('两次输入密码不一致').fadeIn().fadeOut(2000);
    }
    if (!isValidate) {
      return
    }
    // 格式校验

  }

  function setTimer($el) {
    if (timer) {
      clearTimeout(timer);
    }
    if (counter === 0) {
      $el.attr("disabled", false);
      $el.html("重获验证码");
      $el.css({
        color: "#666",
        "border-color": "#e7e7e7"
      });
      counter = 60
    } else {
      $el.attr("disabled", true);
      $el.css({
        color: "#ccc",
        "border-color": "#e7e7e"
      });
      $el.html("重获验证码(" + counter + "s)");
      counter--;
    }
    timer = setTimeout(function () {
      setTimer($el);
    }, 1000);
  }

})